Имено, поголемиот дел од програмите напишани на програмскиот јазик C го мерат времето како број на секунди од 1 јануари 1970 година. Тоа е таканаречениот „почеток на времето“ за компјутерите со Unix систем.
На пример, вредноста 919642718 претставува 919.642.718 секунди по таа точка, што одговара на датумот 21 февруари 1999 година во 16:18:38 PST. Предноста на овој формат е што со едноставно одземање на две вредности добиваме временски интервал во секунди, кој потоа може да се претвори во денови, часови или години.
Проблемот настанува затоа што максималната вредност на потпишан 32-битен (4-бајтен) цел број е 2.147.483.647. По тој лимит вредноста преминува во негативен број, што доведува до невалидни датуми. Тоа ќе се случи на 19 јануари 2038 година во 03:14:07 UTC (координирано универзално време).
Сепак, нема причина за паника. За разлика од Y2K багот, овој проблем полесно се решава – доволно е програмите да користат поголем формат (64 бита) за броење секунди. Тоа е како од мала чаша да преминеме на големо шише: собира повеќе секунди, па нема опасност да се „прелие“.
Значи, иако нè чека уште еден „компјутерски датум од пеколот“, експертите велат дека неговото решавање ќе биде многу полесно и побрзо отколку што беше случајот со Y2K.
Програмерите имаат решение
Добрата вест е што програмерите веќе имаат решение. Наместо да го мерат времето во мала „чаша“ од 4 бајти, тие преминуваат на многу поголемо „шише“ од 8 бајти. Во пракса, тоа значи дека компјутерите нема да можат да бројат само до 2038, туку и многу подалеку, дури милијарди години однапред.
На повеќето понови компјутери и телефони проблемот ќе биде решен преку ажурирања на системот или затоа што тие веќе користат 64-битни процесори, кои природно работат со поголеми броеви. Значи, просечниот корисник најверојатно нема ни да забележи кога ќе дојде тој фамозен јануари 2038.
Каде би можел да се појави проблем?
Сепак, постојат „замки“. Некои уреди сè уште користат стар 32-битен хардвер: стари компјутери и лаптопи, постари Android телефони, рутери, GPS уреди, автомобили, па дури и медицински апарати.
Таквите уреди често не се ажурираат и можат да продолжат да го мерат времето погрешно по 2038 година. Во пракса тоа значи дека некои од нив би можеле да „побегнат“ во минатото и да прикажуваат датуми од 1901 година.
Затоа експертите веќе работат на решенија, но реално е да се очекува дека дел од застарените уреди едноставно ќе престанат да функционираат правилно по тој датум.
Извор: web-mind.rs